package org.base23.video.service;

import org.base23.video.domain.dto.*;
import java.util.List;

/**
 * AI指导服务接口
 */
public interface AiGuidanceService {
    
    /**
     * 创建新的AI指导会话
     * @param resultId 分析结果ID
     * @param sportType 运动类型
     * @param userId 用户ID
     * @return 会话信息
     */
    AiGuidanceConversation createConversation(String resultId, String sportType, String userId);
    
    /**
     * 处理用户问题并获取AI回复
     * @param request 指导请求
     * @return AI回复
     */
    AiGuidanceResponse askQuestion(AiGuidanceRequest request);
    
    /**
     * 获取会话历史
     * @param conversationId 会话ID
     * @return 会话信息
     */
    AiGuidanceConversation getConversation(String conversationId);
    
    /**
     * 获取用户的所有会话
     * @param resultId 分析结果ID
     * @return 会话列表
     */
    List<AiGuidanceConversation> getUserConversations(String resultId);
    
    /**
     * 生成针对分析结果的推荐问题
     * @param resultId 分析结果ID
     * @param sportType 运动类型
     * @return 推荐问题列表
     */
    List<String> generateSuggestedQuestions(String resultId, String sportType);
    
    /**
     * 结束会话
     * @param conversationId 会话ID
     */
    void endConversation(String conversationId);
    
    /**
     * 清理过期会话
     */
    void cleanupExpiredConversations();
} 